비교 연산자는 두 값의 크기/같음 여부를 비교하여
결과를 True(참) 또는 False(거짓)로 반환한다.
조건문(if)에서 가장 많이 사용된다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
== | 같다 | 3 == 3 | True |
!= | 같지 않다 | 3 != 2 | True |
> | 크다 | 5 > 2 | True |
>= | 크거나 같다 | 5 >= 5 | True |
< | 작다 | 1 < 0 | False |
<= | 작거나 같다 | 1 <= 1 | True |
bool 타입이며,
출력하면 True/False로 보인다.
random 모듈의 randint(a, b)는
a부터 b까지(둘 다 포함) 정수 중 하나를 무작위로 선택한다.
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
import random
answer = random.randint(1, 5)
guess = int(input("1~5 사이 숫자를 맞혀 보세요: "))
print("정답:", answer)
print("내가 입력한 값:", guess)
print("맞혔나요?", answer == guess)
랜덤으로 두 정수 a, b를 만든 뒤,
a // b의 몫과 a % b의 나머지를 맞히는 퀴즈를 만들어 본다.
본 예제는 딕셔너리를 생성하고 키-값 쌍을 추가하거나 조회하는 기본 사용법을 보여 준다. 딕셔너리는 순서보다 ‘키를 통한 빠른 조회’에 강점이 있으므로, 항목 이름을 키로 삼는 상황에 적합하다.
import random
a = random.randint(10, 99)
b = random.randint(2, 9)
q = int(input(f"{a} ÷ {b} 의 몫은? "))
r = int(input(f"{a} ÷ {b} 의 나머지는? "))
real_q = a // b
real_r = a % b
print("정답(몫, 나머지):", real_q, real_r)
print("몫 정답 여부:", q == real_q)
print("나머지 정답 여부:", r == real_r)
if 문은 조건식이 참(True)일 때만 블록(들여쓰기 영역)을 실행한다.
조건식 뒤에는 콜론(:)을 붙이고,
실행할 문장은 반드시 들여쓰기(indentation)를 해야 한다.
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
temp = int(input("현재 온도를 입력하세요: "))
if temp < 0:
print("영하입니다. 따뜻하게 입으세요!")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
import random
a = random.randint(1, 100)
b = random.randint(1, 100)
# a가 b보다 작으면 서로 바꾸기
if a < b:
a, b = b, a
print("큰 수:", a)
print("작은 수:", b)
조건이 참이면 문장1을, 거짓이면 문장2를 실행한다.
else 뒤에는 조건식이 없고 콜론(:)만 있다.
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
height1 = int(input("학생 1의 키(cm): "))
height2 = int(input("학생 2의 키(cm): "))
if height1 >= height2:
print("키 차이:", height1 - height2, "cm")
else:
print("키 차이:", height2 - height1, "cm")
여러 조건 중 하나를 선택해야 할 때 사용한다.
위에서부터 조건을 검사하며, 처음으로 True가 나온 블록만 실행한다.
모든 조건이 False이면 마지막 else 블록이 실행된다.
기본 입장료가 5,000원이고, 나이에 따라 할인율이 다를 때 입장료를 계산한다. (할인 기준은 수업 자료의 표를 그대로 반영해 코드로 옮기면 된다.)
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
fee = 5000
age = int(input("나이: "))
# 예시 할인 규칙(필요 시 수업 규칙에 맞게 수정)
if age < 8:
fee *= 0.5 # 50% 할인
elif age < 14:
fee *= 0.7 # 30% 할인
elif age < 65:
fee *= 1.0 # 할인 없음
else:
fee *= 0.6 # 40% 할인(경로 우대 예시)
print("입장료:", int(fee), "원")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
price = int(input("구매 금액(원): "))
if price >= 10000:
price = int(price * 0.95)
print("최종 결제 금액:", price, "원")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
n = int(input("정수 입력: "))
if n % 2 == 0:
print("짝수")
else:
print("홀수")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
import random
dice1 = random.randint(1, 6)
dice2 = random.randint(1, 6)
print("주사위1:", dice1, "주사위2:", dice2)
if dice1 > dice2:
print("주사위1이 큽니다.")
elif dice1 < dice2:
print("주사위2가 큽니다.")
else:
print("같습니다.")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
a = int(input("첫 번째 수: "))
b = int(input("두 번째 수: "))
c = int(input("세 번째 수: "))
m = a
if b < m:
m = b
if c < m:
m = c
print("가장 작은 수:", m)
if 뒤에 콜론(:)을 빼먹는 경우== 대신 =을 쓰는 경우(대입 vs 비교)
논리 연산자는 여러 개의 조건을 하나로 묶어 더 복잡한 조건식을 만들 때 사용한다.
| 연산자 | 의미 | 예시 | 설명 |
|---|---|---|---|
and |
그리고(둘 다 True) | age >= 20 and age < 30 |
두 조건이 모두 참일 때만 참 |
or |
또는(하나라도 True) | vip == "Y" or price >= 20000 |
둘 중 하나라도 참이면 참 |
not |
부정 | not (score < 60) |
참↔거짓 반전 |
기본 배송비가 2,000원이고, 우수 고객이거나 2만 원 이상 구매하면 배송비가 무료라고 가정한다.
본 예제는 문자열 메서드를 활용하여 대소문자 변환, 부분 문자열 탐색, 구성 검증을 수행하는 방법을 보인다. 입력 문자열의 형태를 통일하거나(upper/lower), 포함 여부를 판정(find), 조건을 검사(isalnum, len)하는 흐름이 포함된다.
member = input("우수 고객인가요? (Y/N): ").strip().upper()
price = int(input("구매액(원): "))
shipping = 2000
if (member == "Y") or (price >= 20000):
shipping = 0
print("배송비:", shipping, "원")
print("총 결제:", price + shipping, "원")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
n = int(input("정수 입력: "))
if (n % 3 == 0) and (n % 5 == 0):
print("3과 5의 공배수입니다.")
else:
print("공배수가 아닙니다.")
윤년 규칙(그레고리력):
1) 4로 나누어떨어지고, 2) 100으로 나누어떨어지지 않거나, 3) 400으로 나누어떨어지면 윤년
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
year = int(input("연도 입력: "))
is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
if is_leap:
print("윤년")
else:
print("평년")
사용자와 컴퓨터의 선택을 비교해 승/패/무를 판단한다.
핵심은 여러 경우의 수를 and/or로 묶는 것이다.
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
import random
choices = ["가위", "바위", "보"]
user = input("가위/바위/보 중 하나: ").strip()
computer = random.choice(choices)
print("컴퓨터:", computer)
if user == computer:
print("무승부")
elif (user == "가위" and computer == "보") or (user == "바위" and computer == "가위") or (user == "보" and computer == "바위"):
print("사용자 승")
else:
print("컴퓨터 승")
함수(function)는 특정 기능을 수행하도록 미리 만들어 둔 코드 묶음이다. 필요할 때마다 호출하여 사용할 수 있어 코드가 짧고 읽기 쉬워진다.
함수는 정의(def)만 해서는 실행되지 않고, 반드시 호출(call)해야 실행된다.
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
def hello():
print("함수입니다.")
# 호출해야 실행됨
hello()
| 구분 | 형식 | 예시 |
|---|---|---|
| 매개변수 X, 반환값 X | def f(): ... |
hello() |
| 매개변수 O, 반환값 X | def f(x): ... |
print_sum(2, 3) |
| 매개변수 X, 반환값 O | def f(): return ... |
x = get_pi() |
| 매개변수 O, 반환값 O | def f(x): return ... |
y = add(2, 3) |
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
def add(a, b):
return a + b
result = add(10, 20)
print(result)
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
def bigsmall(a, b):
if a >= b:
return a, b
else:
return b, a
big, small = bigsmall(7, 3)
print(big, small)
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
def add(a, b): return a + b
def sub(a, b): return a - b
def mul(a, b): return a * b
def div(a, b): return a / b
x = float(input("x: "))
y = float(input("y: "))
print("add:", add(x, y))
print("sub:", sub(x, y))
print("mul:", mul(x, y))
print("div:", div(x, y))
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
def quotient_remainder(a, b):
return a // b, a % b
a = int(input("a: "))
b = int(input("b: "))
q, r = quotient_remainder(a, b)
print("몫:", q)
print("나머지:", r)
온도 변환은 공식만 정확히 적용하면 된다.
섭씨 → 화씨: F = C × 9/5 + 32
화씨 → 섭씨: C = (F - 32) × 5/9
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
def c_to_f(c):
return c * 9 / 5 + 32
def f_to_c(f):
return (f - 32) * 5 / 9
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
kind = input("온도 종류(섭씨/화씨): ").strip()
temp = float(input("온도 값: "))
if kind == "섭씨":
print("화씨:", c_to_f(temp))
else:
print("섭씨:", f_to_c(temp))
섭씨/화씨 외의 값이 들어오는 경우
안내 메시지를 출력하도록 elif/else를 추가해도 좋다.
사각형/삼각형/원 중 2개를 골라 넓이를 계산하고 더 큰 도형을 맞히는 게임을 예시로, 함수와 선택 구조를 함께 연습한다.
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
import math
def square(w, h):
return w * h
def triangle(b, h):
return b * h / 2
def circle(r):
return math.pi * r * r
본 예제는 딕셔너리를 생성하고 키-값 쌍을 추가하거나 조회하는 기본 사용법을 보여 준다. 딕셔너리는 순서보다 ‘키를 통한 빠른 조회’에 강점이 있으므로, 항목 이름을 키로 삼는 상황에 적합하다.
def input_area(shape_type, idx):
shape_type = shape_type.strip()
if shape_type == "사각형":
w = float(input(f"{idx}번째 사각형 가로: "))
h = float(input(f"{idx}번째 사각형 세로: "))
return square(w, h)
elif shape_type == "삼각형":
b = float(input(f"{idx}번째 삼각형 밑변: "))
h = float(input(f"{idx}번째 삼각형 높이: "))
return triangle(b, h)
elif shape_type == "원":
r = float(input(f"{idx}번째 원 반지름: "))
return circle(r)
else:
raise ValueError("도형 종류는 사각형/삼각형/원 중 하나여야 한다.")
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
shape_type1 = input("첫 번째 도형(사각형/삼각형/원): ")
area1 = input_area(shape_type1, 1)
shape_type2 = input("두 번째 도형(사각형/삼각형/원): ")
area2 = input_area(shape_type2, 2)
print("1번 넓이:", area1)
print("2번 넓이:", area2)
if area1 > area2:
print("1번 도형이 더 큽니다.")
elif area1 < area2:
print("2번 도형이 더 큽니다.")
else:
print("두 도형의 넓이가 같습니다.")
try/except) 추가하기round())으로 출력 보기 좋게 만들기